import 'dart:async';

import 'package:flutter/material.dart';
import 'package:get/get.dart';

import '../home/home_main_page.dart';
import '../utils/log_util.dart';

///代码清单12-6  lib/controller/welcom_controller.dart
class WelcomController extends GetxController {
  //时间计时器
  Timer? _timer;
  //初始的时间
  double progress = 1000;
  //倒计时时间
  double totalProgress = 6000;
  @override
  void onReady() {
    super.onReady();
    startTimer();
  }

  startTimer() {
    //初始化时间计时器
    //每100毫秒执行一次
    _timer = Timer.periodic(const Duration(milliseconds: 100), (timer) {
      //进度每次累加100，
      progress += 100;
      //更新指定的 GetBuilder
      update(["progress"]);
      //计时完成后进入首页面
      if (progress >= totalProgress) {
        //完成计时后 取消计时 进入首页面
        _timer!.cancel();
        goHome();
      }
      LogUtil.e("定时器 $progress");
    });
  }

  //跳转首页面
  void goHome() {
    Get.off(() =>  HomeMainPage());
  }

  @override
  void onClose() {
    //取消定时
    if (_timer != null && _timer!.isActive) {
      _timer!.cancel();
    }
    super.onClose();
  }
}
